//// QueryString Engine v0.6.0
////By James Campbell
//jQuery.queryString = function(options)
//{
//	defaults = {selector:[{id:"*", defaultvalue:null}], defaultvalue:"undefined", returndefaultifempty:false}	
//	options = jQuery.extend(defaults , options);
//	var result = null;
//	var result = new Array();
//	qs = location.search.substring(1, location.search.length)
//		if (qs.length == 0){ 
//			if(options.returndefaultifempty){
//				return options.defaultvalue
//			}else{
//				for(i in options.selector){
//					if(typeof(options.selector[i].defaultvalue) == "undefined"){
//						result[i] = options.defaultvalue;
//					}else{
//						result[i] = options.selector[i].defaultvalue;
//					}
//				}
//				return result
//			}
//		}
//		qs = qs.replace(/\+/g, ' ')
//		var args = qs.split('&')
//		for (var i = 0; i < args.length; i ++ )
//		{
//			var value;
//			var pair = args[i].split('=')
//			var name = unescape(pair[0])

//		if (pair.length == 2)
//		{	
//			value = unescape(pair[1])
//		}
//		else
//		{
//			value = name
//		}
//		if (options.selector[0].id == "*"){
//			if (value == ""){
//				if(typeof(options.selector[0].defaultvalue) == "undefined"){
//					result.push(options.defaultvalue);
//				}else{
//					result.push(options.selector[0].defaultvalue);
//				}
//			}else{
//				result.push(value);
//			}
//		}else{
//			for (j in options.selector){
//				if (name == options.selector[j].id || i == options.selector[j].id-1){		
//					result[j] = value;
//				}
//				if(typeof(result[j]) == "undefined"){
//					if(typeof(options.selector[j].defaultvalue) == "undefined"){
//						result[j] = options.defaultvalue;
//					}else{
//						result[j] = options.selector[j].defaultvalue;
//					}
//				}
//			}
//		}
//		}
//	if (result.length >= 1 || result != null){
//		return result
//	}
//	return options.defaultvalue
//};

//jQuery.queryStringNames = function(){
//		document.write('queryStringNames is Deprecated!')
//		return ""
//}

//jQuery.queryStringValues = function(){
//		document.write('queryStringValues is Deprecated!');
//		return ""
//}

///**
// * jQuery.query - Query String Modification and Creation for jQuery
// * Written by Blair Mitchelmore (blair DOT mitchelmore AT gmail DOT com)
// * Licensed under the WTFPL (http://sam.zoy.org/wtfpl/).
// * Date: 2008/05/28
// *
// * @author Blair Mitchelmore
// * @version 2.0.0
// *
// **/
//new function(settings) { 
//  // Various Settings
//  var $separator = settings.separator || '&';
//  var $spaces = settings.spaces === false ? false : true;
//  var $suffix = settings.suffix === false ? '' : '[]';
//  var $prefix = settings.prefix === false ? false : true;
//  var $hash = $prefix ? settings.hash === true ? "#" : "?" : "";
//  
//  jQuery.query = new function() {
//    var is = function(o, t) {
//      return o != undefined && o !== null && (!!t ? o.constructor == t : true);
//    };
//    var parse = function(path) {
//      var m, rx = /\[([^[]*)\]/g, match = /^(\S+?)(\[\S*\])?$/.exec(path), base = match[1], tokens = [];
//      while (m = rx.exec(match[2])) tokens.push(m[1]);
//      return [base, tokens];
//    };
//    var set = function(target, tokens, value) {
//      var o, token = tokens.shift();
//      if (typeof target != 'object') target = null;
//      if (token === "") {
//        if (!target) target = [];
//        if (is(target, Array)) {
//          target.push(tokens.length == 0 ? value : set(null, tokens.slice(0), value));
//        } else if (is(target, Object)) {
//          var i = 0;
//          while (target[i++] != null);
//          target[--i] = tokens.length == 0 ? value : set(target[i], tokens.slice(0), value);
//        } else {
//          target = [];
//          target.push(tokens.length == 0 ? value : set(null, tokens.slice(0), value));
//        }
//      } else if (token && token.match(/^\s*[0-9]+\s*$/)) {
//        var index = parseInt(token, 10);
//        if (!target) target = [];
//        target[index] = tokens.length == 0 ? value : set(target[index], tokens.slice(0), value);
//      } else if (token) {
//        var index = token.replace(/^\s*|\s*$/g, "");
//        if (!target) target = {};
//        if (is(target, Array)) {
//          var temp = {};
//          for (var i = 0; i < target.length; ++i) {
//            temp[i] = target[i];
//          }
//          target = temp;
//        }
//        target[index] = tokens.length == 0 ? value : set(target[index], tokens.slice(0), value);
//      } else {
//        return value;
//      }
//      return target;
//    };
//    
//    var queryObject = function(a) {
//      var self = this;
//      self.keys = {};
//      
//      if (a.queryObject) {
//        jQuery.each(a.get(), function(key, val) {
//          self.SET(key, val);
//        });
//      } else {
//        jQuery.each(arguments, function() {
//          var q = "" + this;
//          q = q.replace(/^[?#]/,''); // remove any leading ? || #
//          q = q.replace(/[;&]$/,''); // remove any trailing & || ;
//          if ($spaces) q = q.replace(/[+]/g,' '); // replace +'s with spaces
//          
//          jQuery.each(q.split(/[&;]/), function(){
//            var key = this.split('=')[0];
//            var val = this.split('=')[1];
//            
//            if (!key) return;
//            
//            if (/^[+-]?[0-9]+\.[0-9]*$/.test(val)) // simple float regex
//              val = parseFloat(val);
//            else if (/^[+-]?[0-9]+$/.test(val)) // simple int regex
//              val = parseInt(val, 10);
//            
//            val = (!val && val !== 0) ? true : val;
//            
//            if (val !== false && val !== true && typeof val != 'number')
//              val = decodeURIComponent(val);
//            
//            self.SET(key, val);
//          });
//        });
//      }
//      return self;
//    };
//    
//    queryObject.prototype = {
//      queryObject: true,
//      has: function(key, type) {
//        var value = this.get(key);
//        return is(value, type);
//      },
//      GET: function(key) {
//        if (!is(key)) return this.keys;
//        var parsed = parse(key), base = parsed[0], tokens = parsed[1];
//        var target = this.keys[base];
//        while (target != null && tokens.length != 0) {
//          target = target[tokens.shift()];
//        }
//        return target || "";
//      },
//      get: function(key) {
//        var target = this.GET(key);
//        if (is(target, Object))
//          return jQuery.extend(true, {}, target);
//        else if (is(target, Array))
//          return target.slice(0);
//        return target;
//      },
//      SET: function(key, val) {
//        var value = !is(val) ? null : val;
//        var parsed = parse(key), base = parsed[0], tokens = parsed[1];
//        var target = this.keys[base];
//        this.keys[base] = set(target, tokens.slice(0), value);
//        return this;
//      },
//      set: function(key, val) {
//        return this.copy().SET(key, val);
//      },
//      REMOVE: function(key) {
//        return this.SET(key, null).COMPACT();
//      },
//      remove: function(key) {
//        return this.copy().REMOVE(key);
//      },
//      EMPTY: function() {
//        var self = this;
//        jQuery.each(self.keys, function(key, value) {
//          delete self.keys[key];
//        });
//        return self;
//      },
//      empty: function() {
//        return this.copy().EMPTY();
//      },
//      copy: function() {
//        return new queryObject(this);
//      },
//      COMPACT: function() {
//        function build(orig) {
//          var obj = typeof orig == "object" ? is(orig, Array) ? [] : {} : orig;
//          if (typeof orig == 'object') {
//            function add(o, key, value) {
//              if (is(o, Array))
//                o.push(value);
//              else
//                o[key] = value;
//            }
//            jQuery.each(orig, function(key, value) {
//              if (!is(value)) return true;
//              add(obj, key, build(value));
//            });
//          }
//          return obj;
//        }
//        this.keys = build(this.keys);
//        return this;
//      },
//      compact: function() {
//        return this.copy().COMPACT();
//      },
//      toString: function() {
//        var i = 0, queryString = [], chunks = [], self = this;
//        var addFields = function(arr, key, value) {
//          if (!is(value) || value === false) return;
//          var o = [key];
//          if (value !== true) {
//            o.push("=");
//            o.push(encodeURIComponent(value));
//          }
//          arr.push(o.join(""));
//        };
//        var build = function(obj, base) {
//          var newKey = function(key) {
//            return !base || base == "" ? [key].join("") : [base, "[", key, "]"].join("");
//          };
//          jQuery.each(obj, function(key, value) {
//            if (typeof value == 'object') 
//              build(value, newKey(key));
//            else
//              addFields(chunks, newKey(key), value);
//          });
//        };
//        
//        build(this.keys);
//        
//        if (chunks.length > 0) queryString.push($hash);
//        queryString.push(chunks.join($separator));
//        
//        return queryString.join("");
//      }
//    };
//    
//    return new queryObject(location.search, location.hash);
//  };
//}(jQuery.query || {}); // Pass in jQuery.query as settings object



// QueryString Engine v1.0.1
//By James Campbell

//$.getQueryString({id:"query"}) - returns the value of a query sting called "query"
//$.getQueryString({id:"query", defaultvalue:"hello"}) - returns the value of a query sting called "query" unless it doesn't exsist in which case it returns "hello"

(function(jQuery) {
	jQuery.querystringvalues = jQuery.queryStringValues = jQuery.QueryStringValues = jQuery.QueryStringvalues = jQuery.queryStringValues = jQuery.queryStringvalues = jQuery.querystringValues = jQuery.getqueryString = jQuery.queryString = jQuery.querystring = jQuery.QueryString = jQuery.Querystring = jQuery.getQueryString = jQuery.getquerystring = jQuery.getQuerystring  = function(options)
	{
		defaults = {defaultvalue:"null"} ;
		options = jQuery.extend(defaults , options);
		qs = location.search.substring(1, location.search.length);
		if (qs.length == 0) return options.defaultvalue;
			qs = qs.replace(/\+/g, ' ');
			var args = qs.split('&');
			for (var i = 0; i < args.length; i ++ )
			{
				var value;
				var pair = args[i].split('=');
				var name = unescape(pair[0]);

			if (pair.length == 2)
			{	
				value = unescape(pair[1]);
			}
			else
			{
				value = name;
			}
			if (name == options.id || i == options.id-1)
			{
					return value;
			}
			}
		return options.defaultvalue
	};
})(jQuery);